package workspace;

//题目描述
//请实现一个函数，将一个字符串中的每个空格替换成“%20”。
// 例如，当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

public class 替换空格 {
    //public class Solution {
        public String replaceSpace(StringBuffer str) {
            int spaceNum = 0;
            for(int i = 0;i < str.length();i++) {
                if(str.charAt(i) == ' '){
                    spaceNum++;
                }
            }
            int indexOld = str.length() - 1;
            int newLength = str.length() + spaceNum*2;
            int indexNew = newLength - 1;
            str.setLength(newLength);
            for(;indexOld >= 0;indexOld--) {
                if(str.charAt(indexOld) == ' ') {
                    str.setCharAt(indexNew-- , '0');
                    str.setCharAt(indexNew-- , '2');
                    str.setCharAt(indexNew-- , '%');
                }else {
                    str.setCharAt(indexNew--,str.charAt(indexOld));
                }
            }
            return str.toString();
        }

}
